<?xml version="1.0"?>
<doc>
    <assembly>
        <name>FileDbPcl</name>
    </assembly>
    <members>
        <member name="T:FileDbNs.FileDb">
            <summary>
            Represents an open FileDb database file.  All of the FileDb classes/methods are re-entrant -
            there is no need to syncronise access to the class objects by the calling application.
            However you should use the try-finally pattern when you open a FileDb to ensure
            prompt closing in the finally code block.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.#ctor">
            <summary>
            Constructor for FileDb
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.ToString">
            <summary>
            ToString override - returns the DB filename or a string indicating its a memory DB
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.Open(System.IO.Stream)">
            <summary>
            Open with an existing database stream
            </summary>
            <param name="stream">The database stream to use - normally a FileStream</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.Close">
            <summary>
            Close an open database.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.Create(System.IO.Stream,FileDbNs.Field[])">
            <summary>
            Create a new database using the passed stream, or if null and in-memory DB
            </summary>
            <param name="stream">The stream to use or null to create a memory DB</param>
            <param name="fields">Array of Fields for the new database.</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.Create(System.IO.Stream,FileDbNs.Fields)">
            <summary>
            Create a new database using the passed stream, or if null and in-memory DB
            </summary>
            <param name="stream">The stream to use or null to create a memory DB</param>
            <param name="fields">List of Fields for the new database.</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.BeginTrans">
            <summary>
            Start a transaction - a backup of the whole database file is made until the transaction is completed.
            Be sure to call either CommitTrans or RollbackTrans so the backup can be disposed
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.CommitTrans">
            <summary>
            Commit the changes since the transaction was begun
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.RollbackTrans">
            <summary>
            Roll back the changes since the transaction was begun
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.AddRecord(FileDbNs.FieldValues)">
            <summary>
            Add a new record to the database using the name-value pairs in the FieldValues object.
            Note that not all fields must be represented.  Missing fields will be set to default
            values (0, empty or null).  Note that only Array datatypes can NULL.
            </summary>
            <param name="values">The name-value pairs to add.</param>
            <returns>The volatile index of the newly added record.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpression)">
             <summary>
             Return a Table of Records filtered by the filter parameter.
             </summary>
             <param name="filter">A FilterExpression representing the desired filter.</param>
             <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpression,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpression,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields ordered by the specified fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpression,System.String[],System.String[],System.Boolean)">
            <summary>
            Get all records matching the search expression in the indicated order, if any.
            </summary>
            <param name="filter">Represents a single search expression, such as ID = 3</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">If true, an additional Field named "index" will be returned
            which is the ordinal index of the Record in the database, which can be used in
            GetRecordByIndex and UpdateRecordByIndex.</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpressionGroup)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A FilterExpressionGroup representing the desired filter.</param>
            <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpressionGroup,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpressionGroup,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields in the specified order</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(FileDbNs.FilterExpressionGroup,System.String[],System.String[],System.Boolean)">
             <summary>
             Get all records matching the FilterExpressionGroup in the indicated order, if any.
             </summary>
             <param name="filter">Represents a compound search expression, such as FirstName = "John" AND LastName = "Smith"</param>
             <param name="fieldList">The list of fields to return or null for all fields</param>
             <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
             <param name="orderByList">A list of one or more fields to order the returned table by, 
             or null for default order. If an orderByField is prefixed with "!", that field will sorted
             in reverse order.</param>
             <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(System.String)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(System.String,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(System.String,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields ordered by the specified list</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords(System.String,System.String[],System.String[],System.Boolean)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="includeIndex">If true, an additional Field named "index" will be returned
            which is the ordinal index of the Record in the database, which can be used in
            GetRecordByIndex and UpdateRecordByIndex</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords">
            <summary>
            Return all records in the database (table).
            </summary>
            <returns>A table containing all Records and Fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords(System.String[])">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of Fields to return or null for all Fields</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords(System.String[],System.String[])">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of fields to return or null for all Fields</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords(System.Boolean)">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="includeIndex">Specify whether to include the Record index as one of the Fields</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords(System.String[],System.String[],System.Boolean)">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order</param>
            <returns>A table containing all Records and the specified Fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectEmptyTable">
            <summary>
            Sometimes you may need to get an empty table just for the field definitions.
            Use this method because its much more efficient than using a contrived filter 
            which is designed to return no results.
            </summary>
            <returns>An empty table containing all fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetCurrentRecord(System.String[],System.Boolean)">
            <summary>
            Returns a single Record object at the current location.  Meant to be used ONLY in conjunction
            with the MoveFirst/MoveNext methods.
            </summary>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <returns>A Record object or null</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetRecordByIndex(System.Int32,System.String[])">
            
            <summary>
            Returns a single Record object specified by the index.
            </summary>
            <param name="index">The index of the record to return. This value can be obtained from
            Record returning queries by specifying true for the includeIndex parameter.</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <returns>A Record object or null</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetRecordByKey(System.Object,System.String[],System.Boolean)">
            <summary>
            Returns a single Record object specified by the primary key value or record number.
            </summary>
            <param name="key">The primary key value.  For databases without a primary key, 
            'key' is the zero-based record number in the table.</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <returns>A Record object or null</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.UpdateRecordByIndex(System.Int32,FileDbNs.FieldValues)">
            <summary>
            Update the record at the indicated index. To get the index, you would need to first
            get a record from the database then use the index field from it.  The index is only
            valid until a database operation which would invalidate it, such as adding/deleting
            a record, or changing the value of a primary key.
            </summary>
            <param name="values">The record values to update</param>
            <param name="index">The index of the record to update</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.UpdateRecordByKey(System.Object,FileDbNs.FieldValues)">
            <summary>
            Update the record with the indicated primary key value.
            </summary>
            <param name="values">The record values to update</param>
            <param name="key">The primary key value of the record to update</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.UpdateRecords(FileDbNs.FilterExpression,FileDbNs.FieldValues)">
            <summary>
            Update all records which match the search criteria using the values in record.
            </summary>
            <param name="filter">The search expression, e.g. ID = 100</param>
            <param name="values">A list of name-value pairs to use to update the matching records</param>
            <returns>The number of records which were updated.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.UpdateRecords(FileDbNs.FilterExpressionGroup,FileDbNs.FieldValues)">
            <summary>
            Update all records which match the compound search criteria using the values in record.
            </summary>
            <param name="filter">The compound search expression, e.g. FirstName = "John" AND LastName = "Smith"</param>
            <param name="values">A list of name-value pairs to use to update the matching records</param>
            <returns>The number of records which were updated.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.UpdateRecords(System.String,FileDbNs.FieldValues)">
            <summary>
            Update all records which match the filter expression using the values in record.
            </summary>
            <param name="filter">The filter to use, eg. "~LastName = 'peacock' OR ~FirstName = 'nancy'".
            This filter string will be parsed using FilterExpressionGroup.Parse.</param>
            <param name="values">A list of name-value pairs to use to update the matching records</param>
            <returns>The number of records which were updated.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteAllRecords">
            <summary>
            Delete all records in the database
            </summary>
            <returns>The number of records deleted</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteRecordByIndex(System.Int32)">
            <summary>
            Delete the record at the specified index.  You would normally get the index from a previous
            query.  This index is only valid until a record has been deleted.
            </summary>
            <param name="index">The zero-based index of the record to delete.</param>
            <returns>true if the record was deleted, false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteRecordByKey(System.Object)">
            <summary>
            Delete the record with the specified primary key value
            </summary>
            <param name="key">The primary key value of the record to delete</param>
            <returns>true if the record was deleted, false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteRecords(FileDbNs.FilterExpression)">
            <summary>
            Delete all records which match the search criteria.
            </summary>
            <param name="filter">The search expression, e.g. ID = 100</param>
            <returns>The number of records deleted</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteRecords(FileDbNs.FilterExpressionGroup)">
            <summary>
            Delete all records which match the compound search criteria.
            </summary>
            <param name="filter">The compound search expression, e.g. FirstName = "John" AND LastName = "Smith"</param>
            <returns>The number of records deleted</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteRecords(System.String)">
            <summary>
            Delete all records which match the filter criteria.
            </summary>
            <param name="filter">The filter to use, eg. "~LastName = 'peacock' OR ~FirstName = 'nancy'".
            This filter string will be parsed using FilterExpressionGroup.Parse.</param>
            <returns>The number of records deleted</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.MoveFirst">
            <summary>
            Move to the first record in the index.  Use this in conjunction with MoveNext and GetCurrentRecord
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.MoveNext">
            <summary>
            Move to the next record in the index.  Use this in conjunction with MoveFirst and GetCurrentRecord
            </summary>
        </member>
        <member name="M:FileDbNs.FileDb.Clean">
            <summary>
            Call this to remove deleted records from the file (compact).
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.Flush">
            <summary>
            Call this to write the index and flush the stream buffer to disk.
            Flushing will be done automatically if AutoFlush is On (and only writes the index
            if necessary), whereas this call always writes the index.
            You can use this to periodically write everything to disk rather than each time
            as with AutoFlush.  Flush is always called when the file is closed, however in that
            case the index is only written if AutoFlush is set to Off.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.Reindex">
            <summary>
            Call this method to reindex the database if your index file should be deleted or corrupted.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDb.AddField(FileDbNs.Field,System.Object)">
            <summary>
            Add the specified Field to the database.
            </summary>
            <param name="newField">The new Field to add</param>
            <param name="defaultVal">A default value to use for the values of existing records for the new Field</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.AddFields(FileDbNs.Field[],System.Object[])">
            <summary>
            Add the specified Field to the database.
            </summary>
            <param name="newFields">The new Fields to add</param>
            <param name="defaultVals">Default values to use for the values of existing records for the new Fields.
            Can be null but if not then you must provide a value for each field in the Fields array</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteField(System.String)">
            <summary>
            Delete the specified Field from the database.
            </summary>
            <param name="fieldName">The name of the Field to delete</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.DeleteFields(System.String[])">
            <summary>
            Delete the specified Fields from the database.
            </summary>
            <param name="fieldNames">The Fields to delete</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.RenameField(System.String,System.String)">
            <summary>
            Rename the specified Field.
            </summary>
            <param name="fieldName">The name of the Field to rename</param>
            
        </member>
        <member name="M:FileDbNs.FileDb.SetEncryptor(FileDbNs.IEncryptor)">
            <summary>
            Used to set your own encryptor.  Use this for cross-platform encryption scenarios, where you
            have control over the encryption method being used.  See the Windows Sample apps for an example.
            </summary>
            <param name="encryptor"></param>
            
        </member>
        <member name="M:FileDbNs.FileDb.EncryptString(System.String)">
            <summary>
            Convienience method to encrypt a string value. You must first call SetEncryptor with an Encryptor.
            </summary>
            <param name="value">The string to encrypt</param>
            <returns>The encrypted value</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.DecryptString(System.String)">
            <summary>
            Decrypt a string value. You must first call SetEncryptor with an Encryptor.
            </summary>
            <param name="value">The string to decrypt</param>
            <returns>The decrypted value</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SetEncryptionKey(System.String,System.String)">
            <summary>
            *** Only works on Windows platform.  Use SetEncryptor to provide your own encryptor for cross platform databases ***
            *** Do not use this method anymore ***
            Allows you to set an encryption key after the database has been opened.  You must set
            the encryption key before reading or writing to the database.  Encryption is "all or nothing",
            meaning all records are either encrypted or not.
            </summary>
            <param name="encryptionKey">A string value to use as the encryption key</param>
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpression)">
             <summary>
             Return a List of custom objects filtered by the filter parameter.
             </summary>
             <param name="filter">A FilterExpression representing the desired filter.</param>
             <returns>A new List of custom objects with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpression,System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpression,System.String[],System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new List of custom objects with the requested Records and Fields ordered by the specified fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpression,System.String[],System.String[],System.Boolean)">
            <summary>
            Get all records matching the search expression in the indicated order, if any.
            </summary>
            <param name="filter">Represents a single search expression, such as ID = 3</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">If true, an additional Field named "index" will be returned
            which is the ordinal index of the Record in the database, which can be used in
            GetRecordByIndex and UpdateRecordByIndex.</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpressionGroup)">
            <summary>
            Return a List of custom objects filtered by the filter parameter.
            </summary>
            <param name="filter">A FilterExpressionGroup representing the desired filter.</param>
            <returns>A new List of custom objects with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpressionGroup,System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpressionGroup,System.String[],System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new List of custom objects with the requested Records and Fields in the specified order</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(FileDbNs.FilterExpressionGroup,System.String[],System.String[],System.Boolean)">
             <summary>
             Get all records matching the FilterExpressionGroup in the indicated order, if any.
             </summary>
             <param name="filter">Represents a compound search expression, such as FirstName = "John" AND LastName = "Smith"</param>
             <param name="fieldList">The list of fields to return or null for all fields</param>
             <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
             <param name="orderByList">A list of one or more fields to order the returned table by, 
             or null for default order. If an orderByField is prefixed with "!", that field will sorted
             in reverse order.</param>
             <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(System.String)">
            <summary>
            Return a List of custom objects filtered by the filter parameter.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <returns>A new List of custom objects with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(System.String,System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(System.String,System.String[],System.String[])">
            <summary>
            Return a List of custom objects filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new List of custom objects with the requested Records and Fields ordered by the specified list</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectRecords``1(System.String,System.String[],System.String[],System.Boolean)">
            <summary>
            Return a List of custom objects filtered by the filter parameter.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="includeIndex">If true, an additional Field named "index" will be returned
            which is the ordinal index of the Record in the database, which can be used in
            GetRecordByIndex and UpdateRecordByIndex</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order</param>
            <returns>A new List of custom objects with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords``1">
            <summary>
            Return all records in the database (table).
            </summary>
            <returns>A table containing all Records and Fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords``1(System.String[])">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of Fields to return or null for all Fields</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords``1(System.String[],System.String[])">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of fields to return or null for all Fields</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords``1(System.Boolean)">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="includeIndex">Specify whether to include the Record index as one of the Fields</param>
            <returns>A table containing all rows.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.SelectAllRecords``1(System.String[],System.String[],System.Boolean)">
            <summary>
            Return all records in the database (table).
            </summary>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order</param>
            <returns>A table containing all Records and the specified Fields.</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetCurrentRecord``1(System.String[],System.Boolean)">
            <summary>
            Returns a single custom object at the current location.  Meant to be used ONLY in conjunction
            with the MoveFirst/MoveNext methods.
            </summary>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <returns>A new object or null</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetRecordByIndex``1(System.Int32,System.String[])">
            
            <summary>
            Returns a single custom object specified by the index.
            </summary>
            <param name="index">The index of the record to return. This value can be obtained from
            Record returning queries by specifying true for the includeIndex parameter.</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <returns>A new object or null</returns>
            
        </member>
        <member name="M:FileDbNs.FileDb.GetRecordByKey``1(System.Object,System.String[],System.Boolean)">
            <summary>
            Returns a single custom object specified by the primary key value or record number.
            </summary>
            <param name="key">The primary key value.  For databases without a primary key, 
            'key' is the zero-based record number in the table.</param>
            <param name="fieldList">The list of fields to return or null for all fields</param>
            <param name="includeIndex">Specify whether to include the record index as one of the Fields</param>
            <returns>A new object or null</returns>
            
        </member>
        <member name="E:FileDbNs.FileDb.DbRecordUpdated">
            <summary>
            Static event fired when a record has been updated.
            </summary>
        </member>
        <member name="E:FileDbNs.FileDb.DbRecordAdded">
            <summary>
            Static event fired when a record has been inserted.
            </summary>
        </member>
        <member name="E:FileDbNs.FileDb.DbRecordDeleted">
            <summary>
            Static event fired when a record has been deleted.
            </summary>
        </member>
        <member name="E:FileDbNs.FileDb.RecordUpdated">
            <summary>
            Fired when a record has been updated.
            </summary>
            
        </member>
        <member name="E:FileDbNs.FileDb.RecordAdded">
            <summary>
            Fired when a record has been inserted.
            </summary>
            
        </member>
        <member name="E:FileDbNs.FileDb.RecordDeleted">
            <summary>
            Fired when a record has been deleted.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.DbFileName">
            <summary>
            The full filename of the DB file
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.UserVersion">
            <summary>
            A value which can be used to keep track of the database version for changes
            </summary>
        </member>
        <member name="P:FileDbNs.FileDb.Fields">
            <summary>
            The fields of the database (table).
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.NumRecords">
            <summary>
            The number of records in the database (table).  Doesn't include deleted records.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.NumDeleted">
            <summary>
            The number of deleted records which not yet cleaned from the file.  Call the
            Clean method to remove all deleted records and compact the file.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.AutoCleanThreshold">
            <summary>
            Configures autoclean.  When an edit or delete is made, the
            record is normally not removed from the data file - only the index.
            After repeated edits/deletions, the data file may become very big with
            deleted (non-removed) records.  A cleanup is normally done with the
            cleanup() method.  Autoclean will do this automatically, keeping the
            number of deleted records to under the threshold value.
            To turn off autoclean, set threshold to a negative value.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.AutoFlush">
            <summary>
            Specifies whether to automatically flush data buffers and write the index after each
            operation in which the file was updated.  When AutoFlush is not On, the index is not
            written until the file is closed or Flush is called.
            You can set AutoFlush to Off just before performing a bulk operation to dramatically
            increase performance, then set it back On after.  When you set it back On after it was
            Off, everything is flushed immediately because the assumption is that it was needed,
            so you don't need to call Flush in this case.
            
            Setting AutoFlush On is most useful for when you aren't able to guarantee that you will
            be able to call Close before the program closes.  This way the file won't become corrupt
            in this case.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.IsOpen">
            <summary>
            Tests to see if a database is currently open.
            </summary>
            
        </member>
        <member name="P:FileDbNs.FileDb.MetaData">
            <summary>
            Allow ability to store meta data in the DB file.  MetaData must be one of the supported
            DataTypes: String, Byte, Int, UInt, Float, Double, Bool, DateTime and also Byte[]
            </summary>
            
        </member>
        <member name="T:FileDbNs.FileDb.DbRecordUpdatedHandler">
            <summary>
            Handler for static DbRecordUpdated event.
            </summary>
            <param name="dbFileName">The name of the updated database</param>
            <param name="index">The record index</param>
            <param name="fieldValues">The fields and new values which were updated</param>
            
        </member>
        <member name="T:FileDbNs.FileDb.DbRecordAddedHandler">
            <summary>
            Handler for static DbRecordAdded event.
            </summary>
            <param name="dbFileName">The name of the updated database</param>
            <param name="index">The record index</param>
        </member>
        <member name="T:FileDbNs.FileDb.DbRecordDeletedHandler">
            <summary>
            Handler for static DbRecordDeleted event.
            </summary>
            <param name="dbFileName">The name of the updated database</param>
            <param name="index">The record index</param>
        </member>
        <member name="T:FileDbNs.FileDb.RecordUpdatedHandler">
            <summary>
            Handler for RecordUpdated event.
            </summary>
            <param name="index">The record index</param>
            <param name="fieldValues">The fields and new values which were updated</param>
            
        </member>
        <member name="T:FileDbNs.FileDb.RecordAddedHandler">
            <summary>
            Handler for RecordAdded event.
            </summary>
            <param name="index">The record index</param>
            
        </member>
        <member name="T:FileDbNs.FileDb.RecordDeletedHandler">
            <summary>
            Handler for RecordDeleted event.
            </summary>
            <param name="index">The record index</param>
            
        </member>
        <member name="T:FileDbNs.Encryptor">
            <summary>
            Class uses the .NET AesManaged class for data encryption, but ONLY on the Windows platform
            build...the PCL build just returns the same data without doing anything.  This is because
            encryption namespace isn't available for PCLs.  In this case, create your own Encryptor
            class using the IEncryptor interface and set it into the FileDb object via SetEncryptor.
            </summary>
            
        </member>
        <member name="T:FileDbNs.DataTypeEnum_old">
            <summary>
            Specifies the data type for database Fields
            </summary>
            
        </member>
        <member name="T:FileDbNs.MatchTypeEnum">
            <summary>
            Specifies the type of match for FilterExpressions with String data types
            </summary>
        </member>
        <member name="T:FileDbNs.ComparisonOperatorEnum">
            <summary>
            Specifies the comparison operator to use for FilterExpressions
            </summary>
        </member>
        <member name="T:FileDbNs.BoolOpEnum">
            <summary>
            Boolean operands to use to join FilterExpressions 
            </summary>
        </member>
        <member name="M:FileDbNs.FileDbEngine.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:FileDbNs.FileDbEngine.getReaderWriter">
            <summary>
            Open the database files
            </summary>
            <param name="dbFileName"></param>
            <param name="mode"></param>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.detachDataStreamAndClose">
             <summary>
             Flushes the Stream and detaches it, rendering this FileDb closed
             </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.updateRecordByKey(FileDbNs.FieldValues,System.Object)">
            ----------------------------------------------------------------------------------------
             <summary>
             record must have all fields
             </summary>
             
        </member>
        <member name="M:FileDbNs.FileDbEngine.updateRecordByIndex(FileDbNs.FieldValues,System.Int32)">
            ----------------------------------------------------------------------------------------
             <summary>
             record must have all fields
             </summary>
             
        </member>
        <member name="M:FileDbNs.FileDbEngine.setAutoCleanThreshold(System.Int32)">
             <summary>
             Configures autoclean.  When an edit or delete is made, the
             record is normally not removed from the data file - only the index.
             After repeated edits/deletions, the data file may become very big with
             deleted (non-removed) records.  A cleanup is normally done with the
             cleanup() method.  Autoclean will do this automatically, keeping the
             number of deleted records to under the threshold value.
             To turn off autoclean, set threshold to a negative value.
             </summary>
             <param name="threshold">number of deleted records to have at any one time</param>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.reindex">
            ----------------------------------------------------------------------------------------
             <summary>
             Read all records to create new index.
             </summary>
             
        </member>
        <member name="M:FileDbNs.FileDbEngine.cleanup(System.Boolean)">
            <summary>
            Remove all deleted records
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.removeByKey(System.Object)">
            <summary>
            Removes an entry from the database INDEX only - it appears
            deleted, but the actual data is only removed from the file when a 
            cleanup() is called.
            </summary>
            <param name="key">Int32 or string primary key used to identify record to remove.  For
            databases without primary keys, it is the record number (zero based) in
            the table.</param>
            <returns>true if a record was removed, false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.removeByIndex(System.Int32)">
            <summary>
            Removes an entry from the database INDEX only - it appears
            deleted, but the actual data is only removed from the file when a 
            cleanup() is called.
            </summary>
            <param name="index">The record number (zero based) in the table to remove</param>
            <returns>true on success, false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.removeByValue(FileDbNs.FilterExpression)">
            <summary>
            Removes entries from the database INDEX only, based on the
            result of a regular expression match on a given field - records appear 
            deleted, but the actual data is only removed from the file when a 
            cleanup() is called.
            </summary>
            <param name="searchExp"></param>
            <returns>number of records removed</returns>
        </member>
        <member name="M:FileDbNs.FileDbEngine.moveFirst">
            <summary>
            move to the first index position
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.moveNext">
            <summary>
             Move the current index position to the next database item.
            </summary>
            <returns>true if advanced to a new item, false if there are none left</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getCurrentRecord(System.Boolean)">
            <summary>
            Return the current record in the database.  Note that the current iterator pointer is not moved in any way.
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getRecordByKey(System.Object,System.String[],System.Boolean)">
            <summary>
            retrieves a record based on the specified key
            </summary>
            <param name="key">primary key used to identify record to retrieve.  For
            databases without primary keys, it is the record number (zero based) in 
            the table.</param>
            <param name="fieldList"></param>
            <param name="includeIndex">if true, an extra field called 'IFIELD' will
            be added to each record returned.  It will contain an Int32 that specifies
            the original position in the database (zero based) that the record is 
            positioned.  It might be useful when an orderby is used, and a future 
            operation on a record is required, given it's index in the table.</param>
            <returns>record if found, or false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getRecordByIndex(System.Int32,System.String[],System.Boolean)">
            <summary>
            retrieves a record based on the record number in the table
            (zero based)
            </summary>
            <param name="idx">zero based record number to retrieve</param>
            <param name="fieldList"></param>
            <param name="includeIndex"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.recordExists(System.Int32)">
            <summary>
            Searches the database for an item, and returns true if found, false otherwise.
            </summary>
            <param name="key">rimary key of record to search for, or the record
            number (zero based) for databases without a primary key</param>
            <returns>true if found, false otherwise</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getRecordCount">
            <summary>
            Returns the number of records in the database
            </summary>
            <returns>the number of records in the database</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getDeletedRecordCount">
            <summary>
            Returns the number of deleted records in the database, that would be removed if cleanup() is called.
            </summary>
            <returns>the number of deleted records in the database</returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.getSchema">
            <summary>
            Returns the current database schema in the same form
            as that used in the parameter for the create(...) method.
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.flush(System.Boolean)">
            <summary>
            Flush the in-memory buffers to disk
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.verifyRecordSchema(FileDbNs.FieldValues)">
             <summary>
             Helper
             </summary>
             <param name="record"></param>
             <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.verifyFieldSchema(FileDbNs.Field,System.Object)">
             <summary>
             Helper
             </summary>
             <param name="record"></param>
             <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.readIndex">
             <summary>
             Use this version if you will need to add/remove indices
             </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeIndex(System.IO.Stream,System.IO.BinaryWriter,System.Collections.Generic.List{System.Int32})">
            <summary>
            function to write the index values.  We assume the
            database has been locked before calling this function.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeRecord(System.IO.BinaryWriter,FileDbNs.FieldValues,System.Int32,System.Byte[],System.Boolean)">
            <summary>
            
            </summary>
            <param name="dataWriter"></param>
            <param name="record"></param>
            <param name="size"></param>
            <param name="nullmask">to keep track of null fields in written record</param>
            <param name="deleted"></param>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeRecordRaw(System.IO.BinaryWriter,System.Byte[],System.Boolean)">
            <summary>
            Use this version only if all of the fields are present and in the correct order in the array
            </summary>
            <param name="dataWriter"></param>
            <param name="record"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:FileDbNs.FileDbEngine.getItemSize(FileDbNs.Field,System.Object)">
            <summary>
            Use this version only if all of the fields are present and in the correct order in the array
            </summary>
            <param name="record"></param>
            <returns></returns>
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeItem(System.IO.BinaryWriter,FileDbNs.Field,System.Object)">
            <summary>
            Write a single field to the file
            </summary>
            <param name="dataWriter"></param>
            <param name="field"></param>
            <param name="data"></param>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.bsearch(System.Collections.Generic.List{System.Int32},System.Int32,System.Int32,System.Object)">
            ------------------------------------------------------------------------------
             <summary>
             Private function to perform a binary search
             </summary>
             <param name="index">file offsets into the .dat file, it must be ordered 
             by primary key.</param>
             <param name="left">the left most index to start searching from</param>
             <param name="right">the right most index to start searching from</param>
             <param name="target">the search target we're looking for</param>
             <returns>-[insert pos+1] when not found, or the array index+1 
             when found. Note that we don't return the normal position, because we 
             can't differentiate between -0 and +0.</returns>
             
        </member>
        <member name="M:FileDbNs.FileDbEngine.compareKeys(System.Object,System.Object)">
             <summary>
             Helper
             </summary>
             <param name="record"></param>
             <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.readRecord(System.Int32,System.Boolean)">
             <summary>
             Private function to read a record from the database
             </summary>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.readRecord(System.Int32,System.Boolean,System.Int32@,System.Boolean@)">
            <summary>
            size does not include the 4 byte record length, but only the total size of the fields
            </summary>
            <param name="offset"></param>
            <param name="size"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.readRecordKey(System.IO.BinaryReader,System.Int32)">
            <summary>
            function to read a record KEY from the database.  Note
            that this function relies on the fact that they key is ALWAYS the first
            item in the database record as stored on disk.
            </summary>
            <param name="dataReader"></param>
            <param name="offset"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.readItem(System.IO.BinaryReader,FileDbNs.Field)">
            <summary>
            Reads a data type from a file.  Note that arrays can only 
            consist of other arrays, ints, and strings.
            </summary>
            <param name="dataReader"></param>
            <param name="field"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeSchema(System.IO.BinaryWriter)">
             <summary>
             Write the database schema and other meta information.
             </summary>
             <param name="writer"></param>
            
        </member>
        <member name="M:FileDbNs.FileDbEngine.writeField(System.IO.BinaryWriter,FileDbNs.Field)">
             <summary>
             Helper
             </summary>
             <param name="writer"></param>
             <param name="field"></param>
            
        </member>
        <member name="T:FileDbNs.FilterExpression">
            <summary>
            Use this class for single field searches.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.#ctor(System.String,System.Object,FileDbNs.ComparisonOperatorEnum)">
            <summary>
            Create a FilterExpression with the indicated values
            </summary>
            <param name="fieldName">The name of the Field to filter on</param>
            <param name="searchVal">The Field value to filter on</param>
            <param name="equality">The Equality operator to use in the value comparison</param>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.#ctor(System.String,System.Object,FileDbNs.ComparisonOperatorEnum,FileDbNs.MatchTypeEnum)">
            <summary>
            Create a FilterExpression with the indicated values
            </summary>
            <param name="fieldName">The name of the Field to filter on</param>
            <param name="searchVal">The Field value to filter on</param>
            <param name="equality">The Equality operator to use in the value comparison</param>
            <param name="matchType">The match type, eg. MatchType.Exact</param>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.#ctor(System.String,System.Object,FileDbNs.ComparisonOperatorEnum,FileDbNs.MatchTypeEnum,System.Boolean)">
            <summary>
            Create a FilterExpression with the indicated values
            </summary>
            <param name="fieldName">The name of the Field to filter on</param>
            <param name="searchVal">The Field value to filter on</param>
            <param name="equality">The Equality operator to use in the value comparison</param>
            <param name="matchType">The match type, eg. MatchType.Exact</param>
            <param name="isNot">Operator negation</param>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.Parse(System.String)">
            <summary>
            Parse the expression string to create a FilterExpressionGroup representing a simple expression.
            </summary>
            <param name="expression">The string expression.  Example: LastName = 'Fuller'</param>
            <returns>A new FilterExpression representing the simple expression</returns>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.WildcardToRegex(System.String)">
            <summary>
            Utility method to transform a filesystem wildcard pattern into a regex pattern
            eg. december* or mary?
            </summary>
            <param name="pattern"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.CreateInExpressionFromTable(System.String,FileDbNs.Table,System.String)">
            <summary>
            Create a FilterExpression of type "IN". This type is a HashSet of the values which will be used
            to filter the query.
            </summary>
            <param name="fieldName">The name of the Field which will be used in the FilterExpressions</param>
            <param name="table">A Table to use to build the IN FilterExpressions</param>
            <param name="fieldNameInTable">The name of the Field in the Table which holds the value to be used to build the IN FilterExpressions</param>
            <returns>A new FilterExpression</returns>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.CreateInExpressionFromList``1(System.String,System.Collections.Generic.IList{``0},System.String)">
            <summary>
            Create a FilterExpression of type "IN". This type is a HashSet of the values which will be used
            to filter the query.
            </summary>
            <param name="fieldName">The name of the Field which will be used in the FilterExpressions</param>
            <param name="list">A List of custom objects to use to build the IN FilterExpression</param>
            <param name="propertyName">The name of the Property of the custom class which holds the value to be 
            used to build the IN FilterExpression</param>
            <returns>A new FilterExpression</returns>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.CreateInExpressionFromList(System.String,System.Collections.Generic.IList{System.String})">
            <summary>
            Create a FilterExpression of type "IN". This type is a HashSet of the values which will be used
            to filter the query.
            </summary>
            <param name="fieldName">The name of the Field which will be used in the FilterExpressions</param>
            <param name="list">A List of strings to use to build the IN FilterExpression</param>
            <returns>A new FilterExpression</returns>
            
        </member>
        <member name="M:FileDbNs.FilterExpression.CreateInExpressionFromList(System.String,System.Collections.Generic.IList{System.Int32})">
            <summary>
            Create a FilterExpression of type "IN". This type is a HashSet of the values which will be used
            to filter the query.
            </summary>
            <param name="fieldName">The name of the Field which will be used in the FilterExpressions</param>
            <param name="list">A List of strings to use to build the IN FilterExpression</param>
            <returns>A new FilterExpression</returns>
            
        </member>
        <member name="T:FileDbNs.FilterExpressionGroup">
            <summary>
            Use this class to group FilterExpression and FilterExpressionGroup to form compound search expressions.
            All expressions in the group will be evaluated by the same boolean And/Or operation.  Use multiple
            FilterExpressionGroups to form any combination of And/Or logic.
            </summary>
            
        </member>
        <member name="M:FileDbNs.FilterExpressionGroup.Parse(System.String)">
            <summary>
            Parse the expression string to create a FilterExpressionGroup representing a compound expression.
            </summary>
            <param name="expression">The string compound expression.  Example: (FirstName ~= 'andrew' OR FirstName ~= 'nancy') AND LastName = 'Fuller'</param>
            <returns>A new FilterExpressionGroup representing the compound expression</returns>
            
        </member>
        <member name="T:Utils.HexEncoding">
            <summary>
            Summary description for HexEncoding.
            </summary>
        </member>
        <member name="M:Utils.HexEncoding.GetBytes(System.String,System.Int32@)">
            <summary>
            Creates a byte array from the hexadecimal string. Each two characters are combined
            to create one byte. First two hexadecimal characters become first byte in returned array.
            Non-hexadecimal characters are ignored. 
            </summary>
            <param name="hexString">string to convert to byte array</param>
            <param name="discarded">number of characters in string ignored</param>
            <returns>byte array, in the same left-to-right order as the hexString</returns>
        </member>
        <member name="M:Utils.HexEncoding.InHexFormat(System.String)">
            <summary>
            Determines if given string is in proper hexadecimal string format
            </summary>
            <param name="hexString"></param>
            <returns></returns>
        </member>
        <member name="M:Utils.HexEncoding.IsHexDigit(System.Char)">
            <summary>
            Returns true is c is a hexadecimal digit (A-F, a-f, 0-9)
            </summary>
            <param name="c">Character to test</param>
            <returns>true if hex digit, false if not</returns>
        </member>
        <member name="M:Utils.HexEncoding.HexToByte(System.String)">
            <summary>
            Converts 1 or 2 character string into equivalant byte value
            </summary>
            <param name="hex">1 or 2 character string</param>
            <returns>byte</returns>
        </member>
        <member name="T:FileDbNs.Field">
            <summary>
            Represents a column of the database (table).
            </summary>
        </member>
        <member name="M:FileDbNs.Field.#ctor(System.String,FileDbNs.DataTypeEnum)">
            <summary>
            Use this constructor when creating a new database. The ordinal index of the field will be the
            order it was added to the field list, unless a primary key field is specified and wasn't the 
            first in the list. In this case the primary key field will be moved to the first in the list
            so that its always first.
            </summary>
            <param name="name">The name of the field</param>
            <param name="type">The data type of the field</param>
            
        </member>
        <member name="M:FileDbNs.Field.#ctor(System.String,FileDbNs.DataTypeEnum,System.Int32)">
            <summary>
            Use this constructor when you need to create a Records list manually rather than
            using one retured from a query.  In this case, you must set the field ordinal index
            for each field, starting at zero.
            </summary>
            <param name="name">The name of the field</param>
            <param name="type">The data type of the field</param>
            <param name="ordinal">The zero-based ordinal index of the field</param>
            
        </member>
        <member name="M:FileDbNs.Field.Clone">
            <summary>
            Clone this Field
            </summary>
            <returns>A new Field with the same values</returns>
        </member>
        <member name="P:FileDbNs.Field.Name">
            <summary>
            The name of the field.
            </summary>
        </member>
        <member name="P:FileDbNs.Field.DataType">
            <summary>
            The type of the field.
            </summary>
        </member>
        <member name="P:FileDbNs.Field.Ordinal">
            <summary>
            The zero-based ordinal index of the field.
            </summary>
        </member>
        <member name="P:FileDbNs.Field.IsPrimaryKey">
            <summary>
            Indicates if this is the one and only primary key field
            </summary>
        </member>
        <member name="P:FileDbNs.Field.IsArray">
            <summary>
            Indicate if this is an Array type field
            </summary>
        </member>
        <member name="P:FileDbNs.Field.AutoIncStart">
            <summary>
            Used for auto-increment fields. Set to the number which you want incrementing to begin.
            Leave it null if not an auto-increment field.
            </summary>
        </member>
        <member name="P:FileDbNs.Field.IsAutoInc">
            <summary>
            Returns true if this is an auto-increment field, false otherwise
            </summary>
        </member>
        <member name="P:FileDbNs.Field.Comment">
            <summary>
            Comment for the field
            </summary>
        </member>
        <member name="P:FileDbNs.Field.Tag">
            <summary>
            User property to associate a value with this Field
            </summary>
        </member>
        <member name="T:FileDbNs.FieldValues">
            <summary>
            Represents data for a row, a Record consists of name-value pairs.
            Used when adding data to the database and by the Record object
            to store data returned from queries.
            </summary>
        </member>
        <member name="T:FileDbNs.Record">
            <summary>
            Represents a single row returned from a query.  It will
            contain one or more fields of the database (table).  The last column may be the index of the row (if requested),
            which is the zero-based position of the record in the index.  If there is no primary key specified for
            the database (table), then the index is the record number in the order in which the row was added to the database.
            </summary>
            
        </member>
        <member name="M:FileDbNs.Record.#ctor(FileDbNs.Fields,System.Object[])">
            <summary>
            Create a Record object with the indicated Fields and values.  If creating a list of Record objects 
            (for a Records list) be sure to use the same Fields list for each Record.
            </summary>
            <param name="fields">List of Field objects</param>
            <param name="values">Array of values.  Each value will be converted to the Field type if possible.</param>
            
        </member>
        <member name="M:FileDbNs.Record.#ctor(FileDbNs.Fields,FileDbNs.FieldValues)">
            <summary>
            Create a Record object with the indicated Fields and values.  If creating a list of Record objects 
            (for a Records list) be sure to use the same Fields list for each Record.
            </summary>
            <param name="fields">List of Field objects</param>
            <param name="values">Array of values.  Each value will be converted to the Field type if possible.</param>
            
        </member>
        <member name="M:FileDbNs.Record.ContainsField(System.String)">
            <summary>
            Tests to see if the indicated field is in this Record
            </summary>
            <param name="fieldName"></param>
            <returns>true if the field is in this Record</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetValue``1(System.String)">
            <summary>
            Return the Typed field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Type field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetInt32(System.String)">
            <summary>
            Return the integer field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The integer field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetInt32(System.Int32)">
            <summary>
            Return the integer field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The integer field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetUInt32(System.String)">
            <summary>
            Return the unsigned integer field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The unsigned integer field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetUInt32(System.Int32)">
            <summary>
            Return the unsigned integer field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The unsigned integer field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetString(System.String)">
            <summary>
            Return the String field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The String field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetString(System.Int32)">
            <summary>
            Return the String field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The String field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetByte(System.String)">
            <summary>
            Return the Byte field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Byte field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetByte(System.Int32)">
            <summary>
            Return the Byte field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The Byte field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetSingle(System.String)">
            <summary>
            Return the Single field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Single field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetSingle(System.Int32)">
            <summary>
            Return the Single field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The Single field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDouble(System.String)">
            <summary>
            Return the Double field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Double field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDecimal(System.Int32)">
            <summary>
            Return the Decimal field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The Decimal field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDecimal(System.String)">
            <summary>
            Return the Decimal field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Decimal field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDouble(System.Int32)">
            <summary>
            Return the Double field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The Double field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetBoolean(System.String)">
            <summary>
            Return the Boolean field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The Boolean field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetBoolean(System.Int32)">
            <summary>
            Return the Boolean field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The Boolean field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDateTime(System.String)">
            <summary>
            Return the DateTime field value.
            </summary>
            <param name="fieldName">The name of the field</param>
            <returns>The DateTime field value</returns>
            
        </member>
        <member name="M:FileDbNs.Record.GetDateTime(System.Int32)">
            <summary>
            Return the DateTime field value.
            </summary>
            <param name="index">The ordinal index of the field</param>
            <returns>The DateTime field value</returns>
            
        </member>
        <member name="P:FileDbNs.Record.Length">
            <summary>
            The number of fields in the Record
            </summary>
            
        </member>
        <member name="P:FileDbNs.Record.Data">
            <summary>
            A property which is used for integrating with the binding framework.
            </summary>
            
        </member>
        <member name="T:FileDbNs.ObjectEnumerator">
            <summary>
            Used by the Record class for enumerating in foreach contructs
            </summary>
            
        </member>
        <member name="T:FileDbNs.Records">
            <summary>
            A List of Records
            </summary>
            
        </member>
        <member name="T:FileDbNs.Fields">
            <summary>
            A list of Fields
            </summary>
            
        </member>
        <member name="T:FileDbNs.Table">
            <summary>
            Represents a data table returned from a query.  A table is made up of Fields and Records.
            </summary>
            
        </member>
        <member name="M:FileDbNs.Table.#ctor(FileDbNs.Fields)">
            <summary>
            Create a table with the indicated Fields.
            </summary>
            <param name="fields">The Fields list to use (a copy is made)</param>
            
        </member>
        <member name="M:FileDbNs.Table.#ctor(FileDbNs.Fields,System.Boolean)">
            <summary>
            Create a table with the indicated Fields and records.  If copyFields is true, a new
            Fields list is created and a copy of each field is made and its ordinal adjusted.
            Otherwise the original Fields object is adopted.  You should pass false for copyFields
            only if you created the Fields list and its Field objects yourself.
            </summary>
            <param name="fields">The Fields list to use</param>
            <param name="copyFields">Indicates whether to make a copy of the Fields object and each Field.</param>
            
        </member>
        <member name="M:FileDbNs.Table.#ctor(FileDbNs.Fields,System.Object[][],System.Boolean)">
            <summary>
            Create a table with the indicated Fields and records.  If copyFields is true, a new
            Fields list is created and a copy of each field is made and its ordinal adjusted.
            Otherwise the original Fields object is adopted.  You should pass false for copyFields
            only if you created the Fields list and its Field objects yourself.
            </summary>
            <param name="fields">The Fields list to use</param>
            <param name="records">The record data</param>
            <param name="copyFields">Indicates whether to make a copy of the Fields object and each Field.</param>
            
        </member>
        <member name="M:FileDbNs.Table.#ctor(FileDbNs.Fields,FileDbNs.Records,System.Boolean)">
             <summary>
             Create a table with the indicated Fields and records.  If copyFields is true, a new
             Fields list is created and a copy of each field is made and its ordinal adjusted.
             Otherwise the original Fields object is adopted.  You should pass false for copyFields
             only if you created the Fields list and its Field objects yourself and the Fields in 
             the Record objects match the data in the Record.
             </summary>
             <param name="fields">The Fields list to use</param>
             <param name="records">The record data</param>
             <param name="copyFields">Indicates whether to make a copy of the Fields object and each Field.</param>
            
        </member>
        <member name="M:FileDbNs.Table.AddRecord">
            <summary>
            Add a new Record to this Table with all null values.
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.Table.AddRecord(System.Object[])">
            <summary>
            Add a new Record to this Table with the specfied values, which must be in the order
            of their corresponding fields.
            </summary>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.Table.AddRecord(FileDbNs.FieldValues)">
            <summary>
            Add a new Record to this Table with the FieldValues
            </summary>
            <param name="values"></param>
            <returns></returns>
            
        </member>
        <member name="M:FileDbNs.Table.SaveToDb(System.IO.Stream)">
            <summary>
            Save this Table to the Stream as a new database.  If the Stream is null
            one will be created and it will be a memory DB.  The new database will be just as if you had created
            it from scratch and populated it with the Table data.
            </summary>
            <param name="dbFileName">The full path and filename of the new database</param>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(System.String)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(System.String,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(System.String,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A string representing the desired filter, eg. LastName = 'Fuller'</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields ordered by the specified list</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpression)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpression,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpression,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields ordered by the specified fields.</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpressionGroup)">
            <summary>
            Return a Table of Records filtered by the filter parameter.
            </summary>
            <param name="filter">A FilterExpressionGroup representing the desired filter.</param>
            <returns>A new Table with the requested Records</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpressionGroup,System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <returns>A new Table with the requested Records and Fields</returns>
            
        </member>
        <member name="M:FileDbNs.Table.SelectRecords(FileDbNs.FilterExpressionGroup,System.String[],System.String[])">
            <summary>
            Return a Table of Records filtered by the filter parameter. Only the specified Fields
            will be in the Table.
            </summary>
            <param name="filter">A FilterExpression representing the desired filter.</param>
            <param name="fieldList">The desired fields to be in the returned Table</param>
            <param name="orderByList">A list of one or more fields to order the returned table by, 
            or null for default order. If an orderByField is prefixed with "!", that field will sorted
            in reverse order.</param>
            <returns>A new Table with the requested Records and Fields in the specified order</returns>
            
        </member>
        <member name="P:FileDbNs.Table.Fields">
            <summary>
            The Fields of the Table
            </summary>
            
        </member>
        <member name="T:FileDbNs.FieldSetter">
            <summary>
            A simple class used to communicate property value changes to a Record.
            Used by WPF databinding.
            </summary>
            
        </member>
    </members>
</doc>
